.cm-text {
    color: var(--cui-color-text-0);
    font-size: var(--font-size-regular);
    line-height: 20px;
    background-clip: text;

    mark {
        color: inherit;
        background-color: var(--cui-color-primary-light-default);
    }

    code {
        border: 1px solid var(--cui-default-border);
        border-radius: 2px;
        color: var(--cui-color-text-2);
        background-color: var(--cui-color-fill-1);
        padding: 2px 4px;
    }

    a {
        color: var(--cui-color-link);
        cursor: pointer;
        text-decoration: none;

        &:hover {
            color: var(--cui-color-link-hover);
        }

        &:active {
            text-decoration: none;
            color: var(--cui-color-link-active);
        }

        .cui-icon {
            margin-right: 3px;
        }
    }
}

.cm-typograghy-paragraph {
    margin: 0;
    color: var(--cui-color-text-0);
}

.cm-typograghy-paragraph-secondary,
.cm-text-secondary {
    color: var(--cui-color-text-1);
}

.cm-typograghy-paragraph-primary,
.cm-text-primary {
    color: var(--cui-primary-color);
}

.cm-typograghy-paragraph-warning,
.cm-text-warning {
    color: var(--cui-color-warning);
}

.cm-typograghy-paragraph-error,
.cm-text-error {
    color: var(--cui-color-error);
}

.cm-typograghy-paragraph-success,
.cm-text-success {
    color: var(--cui-color-success);
}

.cm-typograghy-paragraph-disabled,
.cm-text-disabled {
    color: var(--cui-color-disabled-text);
}

.cm-text-underline {
    text-decoration: underline;

    a:hover {
        span {
            text-decoration: underline;
        }
    }
}

.cm-text-link {
    text-decoration: none;

    a {
        background-clip: text;
    }
}

.cm-text-deleted {
    text-decoration: line-through;
}

.cm-text-strong {
    font-weight: 700;
}

.cm-typograghy-paragraph-small,
.cm-text-small {
    font-size: 12px;
}

.cm-typograghy-paragraph-normal,
.cm-text-normal {
    font-size: 14px;
}

.cm-typograghy-paragraph-large,
.cm-text-large {
    font-size: 16px;
}


.cm-typograghy-title {
    font-weight: 600;
    margin: 0;
    color: var(--cui-color-text-0);
    background-clip: text;
}

.cm-typograghy-title-inline {
    display: inline-block;
}

.cm-typograghy-title-prefix-bar {
    padding-left: calc(var(--cm-title-prefix-gap, 16) * 1px);
    position: relative;

    &::before {
        content: "";
        position: absolute;
        left: 0;
        top: 12%;
        width: calc(var(--cm-title-prefix-width, 4) * 1px);
        height: 76%;
        background-color: var(--cm-title-prefix-color, var(--cui-primary-color));
        background-image: linear-gradient(var(--cm-title-prefix-gradient));
    }
}

.cm-typograghy-title-prefix-dot {
    padding-left: calc(var(--cm-title-prefix-gap, 16) * 1px);
    position: relative;

    &::before {
        content: "";
        position: absolute;
        left: 0;
        top: calc(50% - calc(var(--cm-title-prefix-width, 4) * 1px) / 2);
        width: calc(var(--cm-title-prefix-width, 4) * 1px);
        height: calc(var(--cm-title-prefix-width, 4) * 1px);
        border-radius: 50%;
        background-color: var(--cm-title-prefix-color, var(--cui-primary-color));
        background-image: linear-gradient(var(--cm-title-prefix-gradient));
    }
}

.cm-typograghy-h1,
h1.cm-typograghy-title {
    font-size: 32px;
    line-height: 44px;
}

.cm-typograghy-h2,
h2.cm-typograghy-title {
    font-size: 28px;
    line-height: 40px;
}

.cm-typograghy-h3,
h3.cm-typograghy-title {
    font-size: 24px;
    line-height: 32px;
}

.cm-typograghy-h4,
h4.cm-typograghy-title {
    font-size: 20px;
    line-height: 28px;
}

.cm-typograghy-h5,
h5.cm-typograghy-title {
    font-size: 18px;
    line-height: 24px;
}

.cm-typograghy-h6,
h6.cm-typograghy-title {
    font-size: 16px;
    line-height: 22px;
}

.cm-typograghy-extended,
p.cm-typograghy-extended {
    line-height: 24px;
}

.cm-typograghy-copy {
    display: inline-flex;
    align-items: center;
    vertical-align: middle;
    cursor: pointer;
    color: var(--cui-primary-color);
}

.cm-typograghy-copyed {
    display: inline-flex;
    align-items: center;
    vertical-align: middle;
    color: var(--cui-color-success);
}